home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
DTP
/
DTP_TEX
/
3239.ZIP
/
DVIMTP.ZIP
/
READPOST.H
< prev
next >
Wrap
Text File
|
1987-10-21
|
2KB
|
60 lines
/* -*-C-*- readpost.h */
/*-->readpost*/
/**********************************************************************/
/****************************** readpost ******************************/
/**********************************************************************/
void
readpost()
/***********************************************************************
This routine is used to read in the postamble values. It initializes
the magnification and checks the stack height prior to starting printing
the document.
***********************************************************************/
{
long lastpageptr; /* byte pointer to last physical page */
int the_page_count; /* page count from DVI file */
findpost();
if ((BYTE)nosignex(dvifp,(BYTE)1) != POST)
(void)fatal("readpost(): POST missing at head of postamble");
lastpageptr = (long)nosignex(dvifp,(BYTE)4);
num = nosignex(dvifp,(BYTE)4);
den = nosignex(dvifp,(BYTE)4);
mag = nosignex(dvifp,(BYTE)4);
conv = ((float)num/(float)den) *
((float)runmag/(float)STDMAG) *
#if USEGLOBALMAG
actfact(mag) *
#endif
((float)RESOLUTION/254000.0);
/* denominator/numerator here since will be dividing by the conversion
factor */
(void) nosignex(dvifp,(BYTE)4); /* height-plus-depth of tallest page */
(void) nosignex(dvifp,(BYTE)4); /* width of widest page */
if ((int)nosignex(dvifp,(BYTE)2) >= STACKSIZE)
(void)fatal("readpost(): Stack size is too small");
the_page_count = (int)nosignex(dvifp,(BYTE)2);
if (!quiet)
{
(void)fprintf(stderr,"[%d pages]",the_page_count);
NEWLINE(stderr);
(void)fprintf(stderr,"[%d magnification]",(int)runmag);
NEWLINE(stderr);
}
if (preload)
getfntdf();
getpgtab(lastpageptr);
}